package com.company.bishi.second;

import java.time.LocalDate;
import java.util.ArrayList;
import java.util.List;

/**
 * 请假的工作日计算
 *
 * @author jianf
 * @date 2022年11月17 15:09
 */
public class WorkCalendar {

    List<WorkDay> workDays = new ArrayList<WorkDay>() {{
        //获取日历数据
        add(new WorkDay());
    }};

    /*public static void main(String[] args) {

        LocalDateTime begin = LocalDateTime.of(2022, 9, 30, 13, 30);
        LocalDateTime end = LocalDateTime.of(2022, 10, 15, 15, 30);
        // 请假的时间段里包括的工作日list,不包括开始和结束的日期
        List<WorkDay> dList = workDays.stream().filter(
                d -> d.getDay().isAfter(begin.toLocalDate()) && d.getDay().isBefore(end.toLocalDate())
                        && "1".equals(d.getType()))
                .collect(Collectors.toList());

        //判断开始时间的当天，是否为工作日及是整天还是半天，根据请进行加 0，0.5或1 天
        int startNo = 1;
        //同时判断结束时间的天当，是否为工作日及是整天还是半天，根据请进行加 0，0.5或1天
        int endNo = 1;
        System.out.println("请假的天数" + (startNo + dList.size() + endNo));

    }
*/
    class WorkDay {
        private LocalDate day;
        private String type;

        public LocalDate getDay() {
            return day;
        }

        public void setDay(LocalDate day) {
            this.day = day;
        }

        public String getType() {
            return type;
        }

        public void setType(String type) {
            this.type = type;
        }
    }
}
